package top.szhome.system.service;

import top.szhome.framework.starter.db.support.SimpleService;
import top.szhome.system.convert.RoleMenuConverter;
import top.szhome.system.dto.RoleMenuDTO;
import top.szhome.system.entity.RoleMenu;
import top.szhome.system.vo.RoleMenuVO;

import java.util.List;
import java.util.Map;


/**
 * 角色菜单 服务定义
 *
 * @author 唐加利
 * @date 2023/07/31
 **/
public interface RoleMenuService extends SimpleService<RoleMenuConverter, RoleMenuDTO, RoleMenu, RoleMenuVO> {

    /**
     * 获取角色已授权菜单集
     * @param roleId    角色ID
     * @return  返回角色分配的菜单集
     */
    List<Long> getMenusOfRole(Long roleId);

    /**
     * 获取多个角色已授权菜单集
     * @param roleIds
     * @return
     */
    Map<Long, List<Long>> getMenusOfRoles(List<Long> roleIds);

    /**
     * 获取分配了指定菜单的角色集
     * @param menuId
     * @return
     */
    List<Long> getRolesOfMenu(Long menuId);

}
